#ifndef STACK_QUEUE
#define STACK_QUEUE
#include<iostream>
using namespace std;
typedef struct Node
{
    int data;
    Node *next;
};
struct nptr
{
    int n1;
    int n2;
};
class MyStack
{
public:
    Node *base;
    Node *top;
    int l;

    MyStack();
    // ~MyStack();
    bool push(const int &a);
    void printStack(); //1
    bool pop(int &item);
    bool getTop(int &item);
};
class MyQueue
{
public:
    int *top;
    int *tail;
    int *p;
    int l;
    int Capacity;
    MyQueue(const int &n);
    //   ~MyQueue();
    bool enQueue(const int &a);
    bool deQueue(int &item);
    bool getFront(int &item);
    void printQueue();
    void recycleQue();
    void printQueue00();
};
int ComPriority(char a, char b);
void postfixExpression(const string& a, string& result);
bool expressionVal(const string& a, int& result);
void yanghui(const int& a);
#endif